package pt.processingQueues.principal;
/**
* Class that takes the interval of 10 seconds and remembers the muximum number of clients
* that was in a certain interval of time
* @author Chiti
*
*/
import java.util.logging.Level;
import java.util.logging.Logger;
public class PeakHour implements Runnable{
private ClientGenerator generator;
private boolean run;
private int intervalNumber;//the time from witch we started measuring
private int maxNumber;
public PeakHour(ClientGenerator generator) {
this.generator = generator;
this.run=true;
this.maxNumber=0;
this.intervalNumber=0;
}
@Override
public void run() {
int aux;
int i=0;
while (true) {
while (run) {
try {
Thread.sleep(10000);
System.out.println("PeakHour READY!");
aux=generator.getClientsGeneratedSince();
if(maxNumber<aux){
maxNumber=aux;
intervalNumber=i;}
i++;
} catch (InterruptedException ex) {
Logger.getLogger(PeakHour.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
public String getPeackHour() {
int max = intervalNumber*10;
int max2=max+10;
return "Peak Hour between second " + max
+ " and second " + max2;
}
public void setRun(boolean run) {
this.run = run;
}
}